package com.wjm.blog.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wjm.blog.system.entity.SysResourceEntity;
import com.wjm.blog.system.vo.request.SysResourceSaveVo;
import com.wjm.blog.system.vo.request.SysResourceQueryVo;
import com.wjm.blog.system.vo.response.SysResourceDetailVo;
import com.wjm.blog.system.vo.response.SysResourceListVo;

import java.util.List;

/**
 * 资源信息表Service接口类
 *
 * @author wjm
 * @date 2023-10-18T14:34:39.230
 * @version 1.0
 */
public interface ISysResourceService extends IService<SysResourceEntity> {

    /**
     * 资源信息表分页查询
     *
     * @param queryVo 查询接口
     * @return 资源信息表分页列表
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    IPage<SysResourceListVo> page(SysResourceQueryVo queryVo) throws Exception;

    /**
     * 资源信息表列表查询
     *
     * @param queryVo 查询接口
     * @return 资源信息表列表
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    List<SysResourceListVo> list(SysResourceQueryVo queryVo) throws Exception;

    /**
     * 资源信息表详情查询
     *
     * @param id 主键ID
     * @return 资源信息表详情
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    SysResourceDetailVo get(Long id) throws Exception;

    /**
     * 资源信息表新增
     *
     * @param saveVo 资源信息表保存VO
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    boolean insert(SysResourceSaveVo saveVo) throws Exception;

    /**
     * 资源信息表修改
     *
     * @param id 主键ID
     * @param saveVo 资源信息表保存VO
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    boolean update(Long id, SysResourceSaveVo saveVo) throws Exception;

    /**
     * 资源信息表作废(批量)
     *
     * @param ids 主键ID集合
     * @return 操作结果
     * @throws Exception 异常信息
     * @author wjm
     * @version 1.0
     * @date 2023-10-18T14:34:39.230
     */
    boolean invalid(List<Long> ids) throws Exception;
}
